﻿using MES返回生产数据Json;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WorkSplit
{
    public class A线数据 : Object数据
    {
        public A线数据(string name, string sfcType) : base(name, sfcType)
        {
        }

        public static List<A线数据> Start(List<Object线> o)
        {
            List<A线数据> aList = new List<A线数据>();
            foreach (Object线 item in o)
            {
                A线数据 a = new A线数据("A线数据", item.电芯型号Type);
                if (item.产线种类Type == "电芯制成数据")
                {
                    A线Json数据映射类.Rootobject root = JsonConvert.DeserializeObject<A线Json数据映射类.Rootobject>(item.Json);
                    int length = root.result.data.Length;
                    for (int i = 0; i < length; i++)
                    {
                        foreach (var data in root.result.data[i].电芯制成数据)
                        {
                            a.不良数量 = data.NC_QTY;
                            a.目标良率 =$"{data.YIELD_TARGET * 100}%";
                            a.计划数量 = data.PLAN_VALUE;
                            a.投入数量 = data.INPUT_QTY;
                            a.良品数量 = data.OK_QTY;
                            a.实际良率 = $"{data.OK_RATE * 100}%";
                            a.产出差异 = data.DIFFERENCE;
                            a.良率差异 = $"{data.DIFFERENCE_RATE * 100}%";
                            a.制程名称 = data.OPERATION_NAME;


                            a.data.Rows.Add(a.计划数量, a.目标良率, a.投入数量, a.良品数量, a.不良数量, a.实际良率, a.产出差异, a.良率差异, a.制程名称);
                        }

                    }
                    aList.Add(a);
                }
            }
            return aList;
        }
    }
}
